package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_PaymentReturnItem", catalog="Id")
public class TcwPaymentReturnItem extends BaseEntity<TcwPaymentReturnItem> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="PaymentReturnBid", nameJava="paymentReturnBid", typeDataBase="varchar")
	private String paymentReturnBid;
	@YsField(nameDataBase="CompanyBankId", nameJava="companyBankId", typeDataBase="bigint")
	private Long companyBankId;
	@YsField(nameDataBase="OperateCompanyPrepaymentId", nameJava="operateCompanyPrepaymentId", typeDataBase="bigint")
	private Long operateCompanyPrepaymentId;
	@YsField(nameDataBase="RefundableAmount", nameJava="refundableAmount", typeDataBase="decimal")
	private BigDecimal refundableAmount;
	@YsField(nameDataBase="VJyLx", nameJava="vJyLx", typeDataBase="varchar")
	private String vJyLx;
	@YsField(nameDataBase="ThAmount", nameJava="thAmount", typeDataBase="decimal")
	private BigDecimal thAmount;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="ExecutionTime", nameJava="executionTime", typeDataBase="datetime")
	private Date executionTime;
	@YsField(nameDataBase="AccountType", nameJava="accountType", typeDataBase="tinyint")
	private Integer accountType;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwPaymentReturnItem setId(Long id) {
		this.id = id;
		return this;
	}
	public String getPaymentReturnBid() {
		return paymentReturnBid;
	}
	public TcwPaymentReturnItem setPaymentReturnBid(String paymentReturnBid) {
		this.paymentReturnBid = paymentReturnBid;
		return this;
	}
	public Long getCompanyBankId() {
		return companyBankId;
	}
	public TcwPaymentReturnItem setCompanyBankId(Long companyBankId) {
		this.companyBankId = companyBankId;
		return this;
	}
	public Long getOperateCompanyPrepaymentId() {
		return operateCompanyPrepaymentId;
	}
	public TcwPaymentReturnItem setOperateCompanyPrepaymentId(Long operateCompanyPrepaymentId) {
		this.operateCompanyPrepaymentId = operateCompanyPrepaymentId;
		return this;
	}
	public BigDecimal getRefundableAmount() {
		return refundableAmount;
	}
	public TcwPaymentReturnItem setRefundableAmount(BigDecimal refundableAmount) {
		this.refundableAmount = refundableAmount;
		return this;
	}
	public String getVJyLx() {
		return vJyLx;
	}
	public TcwPaymentReturnItem setVJyLx(String vJyLx) {
		this.vJyLx = vJyLx;
		return this;
	}
	public BigDecimal getThAmount() {
		return thAmount;
	}
	public TcwPaymentReturnItem setThAmount(BigDecimal thAmount) {
		this.thAmount = thAmount;
		return this;
	}
	public Date getExecutionTime() {
		return executionTime;
	}
	public TcwPaymentReturnItem setExecutionTime(Date executionTime) {
		this.executionTime = executionTime;
		return this;
	}
	public Integer getAccountType() {
		return accountType;
	}
	public TcwPaymentReturnItem setAccountType(Integer accountType) {
		this.accountType = accountType;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwPaymentReturnItem setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwPaymentReturnItem setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwPaymentReturnItem setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwPaymentReturnItem tcwPaymentReturnItem(
		String paymentReturnBid,
		Long companyBankId,
		Long operateCompanyPrepaymentId,
		BigDecimal refundableAmount,
		String vJyLx,
		BigDecimal thAmount,
		Date executionTime,
		Integer accountType,
		Integer status
			) {
		TcwPaymentReturnItem entity = new TcwPaymentReturnItem();
		entity.setPaymentReturnBid(paymentReturnBid);
		entity.setCompanyBankId(companyBankId);
		entity.setOperateCompanyPrepaymentId(operateCompanyPrepaymentId);
		entity.setRefundableAmount(refundableAmount);
		entity.setVJyLx(vJyLx);
		entity.setThAmount(thAmount);
		entity.setExecutionTime(executionTime);
		entity.setAccountType(accountType);
		entity.setStatus(status);
		return entity;
	}
}